//Source file: D:\\aaa\\com\\ce\\pms\\renovation\\service\\IRenovateSupervisionService.java

package com.ce.pms.renovation.service;

import java.util.List;

import com.ce.pms.renovation.vo.AbstractViolationVO;
import com.ce.pms.renovation.vo.ReformVO;
import com.ce.pms.renovation.vo.RenovateViolationConditionVO;
import com.ce.pms.renovation.vo.RenovateViolationVO;
import com.sitechasia.webx.core.support.Page;


/**
 * 名称: com.ce.pms.renovation.service.IRenovateSupervisionService
 * 装修监管服务接口
 *
 * @author  许心炜  <br>
 * Created on： 2008-12-19 <br>
 * @author <br>
 * update on： <br>
 * why: <br>
 */
public interface IRenovateSupervisionService
{

   /**
    * 新增监管期违规
    * Create author:许心炜
    * @param renvoateViolationVO - 监管期违规VO
    * @return RenovateViolationVO
    * @roseuid 49388AEC0167
    */
   public RenovateViolationVO addRenovateViolation(RenovateViolationVO renvoateViolationVO);

   /**
    * 修改监管期违规
    * Create author:许心炜
    * @param renvoateViolationVO - 监管期违规VO
    * @return RenovateViolationVO
    * @roseuid 49388FA700EA
    */
   public RenovateViolationVO editRenovateViolation(RenovateViolationVO renvoateViolationVO);

   /**
    * 删除监管期违规
    * Create author:许心炜
    * @param renovateViolationId - 监管期违规ID
    * @roseuid 493890090148
    */
   public Boolean deleteRenovateViolation(Long renovateViolationId);

   /**
    * 获得监管期违规记录VO，包括整改记录
    * Create author:许心炜
    * @param renovateViolationId - 监管期违规ID
    * @return RenovateViolationVO
    * @roseuid 49389A0B0290
    */
   public RenovateViolationVO getRenovateViolation(Long renovateViolationId);

   /**
    * 获得整改记录列表
    * Create author:许心炜
    * @param renovateViolationId - 获得某监管期违规的整改记录列表
    * @return List
    * @roseuid 49389389034B
    */
   public List<ReformVO> getReforms(Long renovateViolationId);

   /**
	 * 功能描述: 通过ID获得整改记录 <br>
	 * 用于是否还能新增整改记录判断所用
	 *
	 * @param reformID
	 * @return Create author:许心炜 <br>
	 *         Create on:2009-1-13 <br>
	 *         Edit author: <br>
	 *         Edit on: <br>
	 *         Why: <br>
	 */
	public ReformVO getReform(Long reformID);
   /**
    * 新增整改记录
    * Create author:许心炜
    * @param reformVO - 整改记录VO
    * @return ReformVO
    * @roseuid 49389A71035B
    */
   public ReformVO addReform(ReformVO reformVO);

   /**
    * 删除整改记录
    * Create author:许心炜
    * @param reformId - 整改记录ID
    * @roseuid 49389E5B0271
    */
   public Boolean deleteReform(Long reformId);

   /**
    * 监管期违规记录列表高级查询
    * Create author:许心炜
    * @param queryCondition - 组合查询条件
    * @return Page
    * @roseuid 49389F7B03B9
    */
   public Page queryRenovateViolations(RenovateViolationConditionVO queryCondition);

   /** 功能描述: 得到指定许可证的所有违规记录 <br>
	 * @param licenceId
	 * @return
	 * Create author:许心炜 <br>
	 * Create on:2009-1-7  <br>
	 * Edit author:  <br>
	 * Edit on:    <br>
	 * Why:     <br>
	*/
	public List<AbstractViolationVO> getViolationsByLicenceId(Long licenceId);

	/** 功能描述: 是否处于监管期 <br>
	 * @param licenceId
	 * @return
	 * Create author:许心炜 <br>
	 * Create on:2009-1-7  <br>
	 * Edit author:  <br>
	 * Edit on:    <br>
	 * Why:     <br>
	*/
	public Boolean isViolation(Long licenceId);

	/** 功能描述: 获得通过的整改记录 <br>
	 * @param renovateViolationId
	 * @return
	 * Create author:许心炜 <br>
	 * Create on:2009-1-13  <br>
	 * Edit author:  <br>
	 * Edit on:    <br>
	 * Why:     <br>
	*/
   public ReformVO getPassReform(Long renovateViolationId);
}
